package com.css.fxfzypg.modules.SettingSeismic.repository;

import com.css.fxfzypg.modules.SettingSeismic.entity.*;
import com.css.fxfzypg.modules.SettingSeismic.vo.SettingSeismicDetailsVO;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;
import java.util.Map;

/**
 * @Description: fxfzypg
 * @Author: lhl
 * @CreateDate: 2022/10/13 17:11
 */
public interface SettingSeismicRepository {

    int saveSettingSeismicFault(SettingSeismicFault entity);
    int saveSettingSeismicPoint(SettingSeismicPoint entity);
    int saveSettingSeismicDetails(SettingSeismicDetails entity);

    SettingSeismicFault getSettingSeismicFaultById(String id);
    List<SettingSeismicFault> getSettingSeismicFaultByTaskId(String taskId);
    SettingSeismicPoint getSettingSeismicPointById(String id);
    List<SettingSeismicPoint> getSettingSeismicPointBySfIdOrderByFaultNum(String sfId);
    List<SettingSeismicPoint> getSettingSeismicPointByTaskId(String taskId);
    SettingSeismicDetails getSettingSeismicDetailsById(String id);
    SettingSeismicDetails getSettingSeismicDetailsById2(String id);
    List<SettingSeismicDetails> getSettingSeismicDetailsBySsId(String ssId);
    List<SettingSeismicDetails> getSettingSeismicDetailsByTaskId(String taskId);
    SettingSeismicPoint getSettingSeismicPointBySdId(String id);

    List<String> getPointDetailByTaskId(String taskId);

    SettingSeismicDetails getMaxNum(String taskId);

    int updateSettingSeismicPoint(SettingSeismicPoint entity);

    int deleteSettingSeismicFault(String id, String userId, Timestamp timestamp);
    int deleteSettingSeismicPoint(String id, String userId, Timestamp timestamp);
    int deleteSettingSeismicPoint2(String id, String userId, Timestamp timestamp,Integer faultNum);
    int deleteSettingSeismicPointBySfId(String sfId, String taskId);
    int deleteSettingSeismicDetails(String ssId);
    int deleteByFaultNum(String taskId,Integer faultNum);
    int deleteById(String id);

    int updateFaultNum1(String ssId,Integer faultNum);
    int updateFaultNum2(String taskId,Integer faultNum);
    int updateFaultNum3(String taskId);

    List<SettingSeismicDetailsVO> setEarthquakeCensus(String taskId,String placeProvince);

    List<SettingSeismicDetailsVO> setEarthquakeCensus(List<String> taskId,List<String> placeProvince);

    List<SettingSeismicDetailsVO> setEarthquakeCensus(String taskId);

    List<SettingSeismicDetailsVO> setEarthquakeCensus(List<String> taskIdList);

    Map<String, Object> getDetailPage(SettingSeismicDetailsVO settingSeismicDetailsVO, int curPage, int pageSize);

    Map<String, Object> getDetailsPage(SettingSeismicDetailsVO settingSeismicDetailsVO, int curPage, int pageSize);

    SettingSeismicDetails getSettingSeismicDetailsByInfluenceflieId(String influenceflieId);

    List<SettingSeismicDetails> getByTaskNumAndLonAndLatAndEqLevel(String taskNum, BigDecimal lon, BigDecimal lat, BigDecimal eqLevel);

    List<SettingSeismicDetailsVO> setEarthquakeCensusNossid(String taskId, String placeProvince);

    List<SettingSeismicPoint> getPointsByTaskId(String taskId);

    int updateFaultNum(SettingSeismicPoint settingSeismicPoint);

    Integer getArea(String influencefliedId, String taskId);
}
